<!DOCTYPE html>
<html>
    <head>
        <title>MicroPHP V1.0 入门教程</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <style>
            li{margin:10px;}
            p{line-height:22px;}
        </style>
    </head>
    <body  style="font-size: 13px;padding:20px;">
        <h1 style="text-align:center;color: #990000;"> MicroPHP V1.0 入门教程</h1> 
        <h2 style="margin:0  0 0 auto;width: 220px ;">目录</h2>
        <ol style="margin:0  0 0 auto;width: 200px ;">
            <li><a href="#hello">Hello,world!</a></li>
            <li><a href="#para">传递参数</a></li>
            <li><a href="#model">使用模型</a></li>
            <li><a href="#view">使用视图</a></li>
            <li><a href="#database">使用数据库</a></li>
            <li><a href="#library">使用类库</a></li>
            <li><a href="#helper">使用helper文件</a></li>
        </ol>
        <p>开始之前,我们打开index.php，修改程序文件夹$system['application_folder']='hello';其它系统设置我们使用默认。</p>
        <fieldset style="border-color:gray;border-style:solid;border-width:0;">
            <h2><legend style="color: #990000;"><a name="hello">Hello,world!</a>&nbsp;&nbsp;<a href="#">Top</a></legend></h2>
            <p>首先我们在index.php所在的文件夹新建一个名为hello的文件夹，然后在hello里面新建一个controllers文件夹，它是用来存放我们的控制器的。
                然后在controllers里面新建一个home.php,里面输入以下内容：
            </p>
            <pre style="font-size: 13px;line-height: 22px;">
class Home extends WoniuController {
      public function doHello(){
          echo 'Hello,world!';
      }
 }
            </pre>
            <p>然后我们在浏览器里面访问http://127.0.0.1/index.php?home.hello ,如果没有差错的话,应该可以看到输出了Hello,world!,现在我们学会了怎么通过url访问控制器了.</p>
        </fieldset>
        <fieldset style="border-color:gray;border-style:solid;border-width:0;">
            <h2><legend style="color: #990000;"><a name="para">传递参数</a>&nbsp;&nbsp;<a href="#">Top</a></legend></h2>
            <p>我们现在想让doHello方法接受一个$name参数,为了避免没有传递参数报notice,我们给$name一个默认值'',home.php内容修改后如下：
            </p>
            <pre style="font-size: 13px;line-height: 22px;">
class Home extends WoniuController {
      public function doHello($name=''){
          echo 'Hello,'.$name.'!';
      }
 }
            </pre>
            <p>然后我们在浏览器里面访问http://127.0.0.1/index.php?home.hello/Jhon ,如果没有差错的话,应该可以看到输出了Hello,Jhon!,现在我们学会了怎么通过url传递参数到
                控制器的方法里面,如果我们想传递多个参数可以用/分割即可</p>
        </fieldset>
        <fieldset style="border-color:gray;border-style:solid;border-width:0;">
            <h2><legend style="color: #990000;"><a name="model">使用模型</a>&nbsp;&nbsp;<a href="#">Top</a></legend></h2>
            <p>
                我们在hello文件夹里面新建一个models文件夹,它用来存放我们的模型,然后在models里面新建一个User.model.php内容如下：
            </p>
            <pre style="font-size: 13px;line-height: 22px;">
class User extends WoniuModel{
   public function getNameById($id){
       return $id.':Jhon';
   }
}
            </pre>
            <p>
                我们在home控制器里面加载User模型,home.php内容如下：
            </p>
            <pre style="font-size: 13px;line-height: 22px;">
class Home extends WoniuController {

    public function doHello($id='') {
        $this->model('User');
        echo $this->model->user->getNameById($id) . '!';
    }

}
            </pre>
            <p>然后我们在浏览器里面访问http://127.0.0.1/index.php?home.hello/1 ,如果没有差错的话,应该可以看到输出了1:Jhon!,
                现在我们学会了怎么在控制器里面调用模型，在模型里面调用其它模型和在控制器里面一样。</p>
        </fieldset>
        <fieldset style="border-color:gray;border-style:solid;border-width:0;">
            <h2><legend style="color: #990000;"><a name="view">使用视图</a>&nbsp;&nbsp;<a href="#">Top</a></legend></h2>
            <p>
                我们在hello文件夹里面新建一个views文件夹,它用来存放我们的视图文件,然后在views里面新建一个welcome.view.php内容如下：
            </p>
            <pre style="font-size: 13px;line-height: 22px;">
My name is:&lt;?php echo $name;?&gt;
            </pre>
            <p>
                我们在home控制器里面加载welcome视图,并传递一个$name进去,home.php内容如下：
            </p>
            <pre style="font-size: 13px;line-height: 22px;">
class Home extends WoniuController {

    public function doHello() {
        $data=array('name'=>'Jhon');
        $this->view('welcome',$data);
    }

}
            </pre>
            <p>然后我们在浏览器里面访问http://127.0.0.1/index.php?home.hello ,如果没有差错的话,应该可以看到输出了My name is:Jhon,
                现在我们学会了怎么在控制器里面调用视图，并向视图传递数据。</p>
        </fieldset>
        <fieldset style="border-color:gray;border-style:solid;border-width:0;">
            <h2><legend style="color: #990000;"><a name="database">使用数据库</a>&nbsp;&nbsp;<a href="#">Top</a></legend></h2>
            <p>
                首先我们在index.php里面配置mysql数据库的连接信息,同时把数据库设置为自动连接$system['autoload_db']=TRUE;我本机的mysql连接信息如下,主机是localhost,
                端口是3306,用户名是root,密码是admin,数据库是ectest,表前缀是ecm_;
            </p>
            <pre style="font-size: 13px;line-height: 22px;">
$db['default']['hostname'] = 'localhost';
$db['default']['port'] = 3306;
$db['default']['username'] = 'root';
$db['default']['password'] = 'admin';
$db['default']['database'] = 'ectest';
$db['default']['dbprefix'] = 'ecm_';
            </pre>
            <p>
                通过上面的配置,程序已经可以自动连接数据库里,现在我们在home控制器里面输出数据库ecm_article表里面的信息,home.php内容如下：
            </p>
            <pre style="font-size: 13px;line-height: 22px;">
class Home extends WoniuController {

    public function doHello() {
        $data=$this->db->limit(1)->get('article')->result_array();
        var_dump($data);
    }

}
            </pre>
            <p>然后我们在浏览器里面访问http://127.0.0.1/index.php?home.hello ,如果没有差错的话,应该可以看到输出了表ecm_article里面的一条记录。
                现在我们学会了怎么在控制器里面访问数据库，在模型里面访问数据库和控制器里面一样。</p>
        </fieldset>
        <fieldset style="border-color:gray;border-style:solid;border-width:0;">
            <h2><legend style="color: #990000;"><a name="library">使用类库</a>&nbsp;&nbsp;<a href="#">Top</a></legend></h2>
            <p>
                首先我们在在hello里面新建一个library文件夹，它是用来存放我们的自己的类库的，然后在library里面新建一个Woniu.class.php文件，内容如下：
            </p>
            <pre style="font-size: 13px;line-height: 22px;">
class Woniu {
    function say(){
        $Woniu=&WoniuController::getInstance();
        echo 'application folder is:'.$Woniu->config('system','application_folder').'&lt;br/&gt;';
        echo 'Hello,MicroPHP!';
    }
}
            </pre>
            <p>
                然后我们可以在home控制器里面使用它，home.php内容如下：
            </p>
            <pre style="font-size: 13px;line-height: 22px;">
class Home extends WoniuController {

    public function doHello() {
        $woniu=new Woniu();
        $woniu->say();
    }

}
            </pre>
            <p>然后我们在浏览器里面访问http://127.0.0.1/index.php?home.hello ,如果没有差错的话,应该可以看到输出了:<br/>
                application folder is:hello<br/>
                Hello,MicroPHP!<br/>。
                现在我们学会了怎么在控制器里面使用自己的类库，在模型里面访问类库和控制器里面一样。</p>
        </fieldset>
        <fieldset style="border-color:gray;border-style:solid;border-width:0;">
            <h2><legend style="color: #990000;"><a name="helper">使用helper文件</a>&nbsp;&nbsp;<a href="#">Top</a></legend></h2>
            <p>
                首先我们在在hello里面新建一个helper文件夹，它是用来存放我们的自己的helper文件的，然后在helper里面新建一个functions.php文件，内容如下：
            </p>
            <pre style="font-size: 13px;line-height: 22px;">
$app_name='MicroPHP';
$config['ver']='1.0';
function woniu(){
    echo 'Hello,MicroPHP!';
}
            </pre>
            <p>
                然后我们可以在home控制器里面使用它，home.php内容如下：
            </p>
            <pre style="font-size: 13px;line-height: 22px;">
class Home extends WoniuController {

    public function doHello() {
        $this->helper('functions');
        echo $this->config('app_name').' '.$this->config('config','ver').'&lt;br/&gt;';
        woniu();
    }

}
            </pre>
            <p>然后我们在浏览器里面访问http://127.0.0.1/index.php?home.hello ,如果没有差错的话,应该可以看到输出了:<br/>
                MicroPHP 1.0<br/>
                Hello,MicroPHP!<br/>。
                现在我们学会了怎么在控制器里面加载和使用helper文件，在模型里面使用helper文件和控制器里面一样。</p>
        </fieldset>
    </body>

</html>
